<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" href="http://www.petercorke.com/RVC/common/toolboxhelp.css">
    <title>M-File Help: isurf</title>
  </head>
  <body>
  <table border="0" cellspacing="0" width="100%">
    <tr class="subheader">
      <td class="headertitle">M-File Help: isurf</td>
      <td class="subheader-left"><a href="matlab:open isurf">View code for isurf</a></td>
    </tr>
  </table>
<h1>isurf</h1><p><span class="helptopic">SURF feature extractor</span></p><p>
<strong>sf</strong> = <span style="color:red">isurf</span>(<strong>im</strong>, <strong>options</strong>) returns a vector of SurfPointFeature objects
representing scale and rotationally invariant interest points in the
image <strong>im</strong>.

</p>
<p>
The SurfPointFeature object has many properties including:

</p>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1"> u </td> <td>horizontal coordinate</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> v </td> <td>vertical coordinate</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> strength</td> <td>feature strength</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> descriptor</td> <td>feature descriptor (64x1 or 128x1)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> sigma</td> <td>feature scale</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> theta</td> <td>feature orientation [rad]</td></tr>
</table>
<h2>Options</h2>
<table class="list">
  <tr><td style="white-space: nowrap;" class="col1">'nfeat', N</td> <td>set the number of features to return (default Inf)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'thresh', T</td> <td>set Hessian threshold.  Increasing the threshold reduces
the number of features computed and reduces computation time.</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'octaves', N</td> <td>number of octaves to process (default 5)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'extended'</td> <td>return 128-element descriptor (default 64)</td></tr>
  <tr><td style="white-space: nowrap;" class="col1"> 'upright'</td> <td>don't compute rotation invariance</td></tr>
  <tr><td style="white-space: nowrap;" class="col1">'suppress', R</td> <td>set the suppression radius (default 0).  Features are not
returned if they are within R [pixels] of an earlier (stronger)
feature.</td></tr>
</table>
<h2>Example</h2>
<p>
Load the image

</p>
<pre style="width: 90%%;" class="examples">
im&nbsp;=&nbsp;iread('lena.pgm');
</pre>
<p>
Find the 10 strongest SURF features

</p>
<pre style="width: 90%%;" class="examples">
sf&nbsp;=&nbsp;isurf(im,&nbsp;'nfeat',&nbsp;10);
</pre>
<p>
and overlay them on the original image as blue circles

</p>
<pre style="width: 90%%;" class="examples">
idisp(im);
sf.plot_scale()
</pre>
<h2>Notes</h2>
<ul>
  <li>Color images, or sequences, are first converted to greyscale.</li>
  <li>Features are returned in descending strength order</li>
  <li>If IM is HxWxN it is considered to be an image sequence and F is a cell
array with N elements, each of which is the feature vectors for the
corresponding image in the sequence.</li>
  <li>Wraps an M-file implementation of OpenSurf by D. Kroon (U. Twente) or
a MEX-file OpenCV wrapper by Petter Strandmark.</li>
  <li>The sign of the Laplacian is not retained.</li>
  <li>The SURF algorithm is covered by an extensive suite of international
patents including US 8,165,401, EP 1850270 held by Toyota, KU Leuven
and ETHZ.  See http://www.kooaba.com/en/plans_and_pricing/ip_licensing</li>
</ul>
<h2>Reference</h2>
<p>
"SURF: Speeded Up Robust Features",
Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool,
Computer Vision and Image Understanding (CVIU),
Vol. 110, No. 3, pp. 346--359, 2008

</p>
<h2>See also</h2>
<p>
<a href="matlab:doc SurfPointFeature">SurfPointFeature</a>, <a href="matlab:doc isift">isift</a>, <a href="matlab:doc icorner">icorner</a></p>
<hr>

<table border="0" width="100%" cellpadding="0" cellspacing="0">
  <tr class="subheader" valign="top"><td>&nbsp;</td></tr></table>
<p class="copy">&copy; 1990-2012 Peter Corke.</p>
</body></html>